]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
iconGrid: Make actors non reactive while animating
authorCarlos Soriano <carlos.soriano89@gmail.com>
Tue, 2 Sep 2014 20:49:10 +0000 (22:49 +0200)
committerCarlos Soriano <carlos.soriano89@gmail.com>
Tue, 2 Sep 2014 20:53:14 +0000 (22:53 +0200)
Although the actor are with opacity 0, they were reactive, so the if the
user quickly make a click on the grid while animating it can launch an
app accidentally.
To avoid that make the actors non reactive while animating.

js/ui/iconGrid.js

index f00b22f170698b14d1abef0dac4b03ade070d787..cd2917358c1f0b62b2df99534ce252cdd659342f 100644 (file)
@@ -432,6 +432,7 @@ const IconGrid = new Lang.Class({
         for (let index = 0; index < actors.length; index++) {
             let actor = actors[index];
             actor.opacity = 0;
+            actor.reactive = false;
 
             let delay = index / actors.length * ANIMATION_MAX_DELAY_FOR_ITEM;
             let [originalX, originalY] = actor.get_transformed_position();
@@ -465,6 +466,7 @@ const IconGrid = new Lang.Class({
                                                             this._animationDone();
 
                                                         actor.opacity = 255;
+                                                        actor.reactive = true;
                                                         actorClone.destroy();
                                                     })
                                                    });
@@ -508,6 +510,7 @@ const IconGrid = new Lang.Class({
         for (let index = 0; index < actors.length; index++) {
             let actor = actors[index];
             actor.opacity = 0;
+            actor.reactive = false;
 
             let actorClone = new Clutter.Clone({ source: actor });
             Main.uiGroup.add_actor(actorClone);
@@ -542,6 +545,7 @@ const IconGrid = new Lang.Class({
                                            this._animationDone();
 
                                        actor.opacity = 255;
+                                       actor.reactive = true;
                                        actorClone.destroy();
                                    })};
                 fadeParams = { time: ANIMATION_FADE_IN_TIME_FOR_ITEM,